home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / answrbok / 5_5.lha / 5_5 / 5_5e4.c < prev    next >
Text File  |  1993-08-08  |  596b  |  32 lines

  1. * Copyright (c) 1990 by AT&T Bell Telephone Laboratories, Incorporated. */
  2. * The C++ Answer Book */
  3. * Tony Hansen */
  4. * All rights reserved. */
  5. tatic tree* term(istream& input)
  6.  
  7.    tree* left = prim(input);
  8.  
  9.    for (;;)
  10. switch (curr_tok.type)
  11.     {
  12.     case MUL:
  13.     mult_op *headm = new mult_op;
  14.     headm->left = left;
  15.     get_token(input);    // eat '*'
  16.     headm->right = prim(input);
  17.     left = headm;
  18.     break;
  19.  
  20.     case DIV:
  21.     div_op *headd = new div_op;
  22.     headd->left = left;
  23.     get_token(input);    // eat '/'
  24.     headd->right = prim(input);
  25.     left = headd;
  26.     break;
  27.  
  28.     default:        // collapse node
  29.     return left;
  30.     }
  31.  
  32.